"""def setup_module():
    print("我是模块级的setup方法")
def teardown_module():
    print("我是模块级的teardown方法")"""
"""
def test_add():
    print("添加测试用例")
def testfn2():
    print("我是第二条测试用例")"""
"""
用例执行：
1、执行setup_module方法
2、执行测试用例
3、执行teardown_module方法
"""
"""
def setup_function():
    print("我是函数级的setup方法")
def teardown_function():
    print("我是函数级的teardown方法")

def test_demo1():
    print("这是demo1")
def test_demo2():
    print("这是demo2")
"""
"""
特点：每条用例都会走一遍setup和teardonw
执行用例顺序：
1、执行setup_function()方法
2、执行用例
3、执行teardown_function()方法
"""

# 类级别和
"""
class TestDemo:
    def setup_class(self):
        print("这是类级别的setup方法")
    def teardown_class(self):
        print("这是类级别的teardown方法")
    def test_demo1(self):
        print("这是demo1")
    def test_demo2(self):
        print("这是demo2")
    def test_demo3(self):
        print("这是demo3")
"""
"""
执行顺序：
1、执行setup_class
2、执行测试用例本身
3、执行teardown_class
以类为单位，就开始前执行一遍setup，结束后执行一遍teardown
"""
# 方法级别
class TestDemo1:
    def setup(self):
        print("这是方法级别的setup")
    def teardown(self):
        print("这是方法级别的teardown")
    def test_demo1(self):
        print("这是demo1")
    def test_demo2(self):
        print("这是demo2")
    def test_demo3(self):
        print("这是demo3")

"""
执行顺序：
1、先执行setup
2、执行测试用例
3、执行teardown
...
...
有多少条测试用例，就执行多少次setup和teardown
"""



